home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / pcboard / vrs501.zip / VRS-M10.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-10-08  |  12KB  |  398 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     String   STRING001
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   TSTRING005(20)
  30.  
  31. ;------------------------------------------------------------------------------
  32.  
  33.     Goto LABEL001
  34.     End
  35.     If (0 == 0) STRING001 = "NO"
  36.     If (0 == 1) STRING001 = "YES"
  37.  
  38.     EndFunc
  39.  
  40.     :LABEL001
  41.     STRING003 = String(PcbNode())
  42.     If (PcbNode() == 0) STRING003 = "A"
  43.     STRING004 = GetEnv(STRING003 + "RECNO")
  44.     STRING004 = ToInteger(STRING004)
  45.     TSTRING005(0) = "               @X0CBLOWOUT VAPOR THREE...@X0A"
  46.     TSTRING005(1) = "               @X0CI KNEW YOUR FATHER IN THE CLONE WARS...@X0A"
  47.     TSTRING005(2) = "               @X0CDAMN IT, JIM...@X0A"
  48.     TSTRING005(3) = "               @X0CAND THE MOST WONDERFUL THING ABOUT TIGGERS...@X0A"
  49.     TSTRING005(4) = "                               @X0CENGAGE!@X0A"
  50.     TSTRING005(5) = "                               @X0CRAISE SHIELDS...@X0A"
  51.     TSTRING005(6) = "                              @X0CI CAN'T HOLD ALTITUDE...@X0A"
  52.     TSTRING005(7) = "                     @X0CIGUANAS WITH WASHED HANDS ARE THE BEST KIND...@X0A"
  53.     TSTRING005(8) = "       @X0CAHEAD WARP FACTOR THREE, MR. SULU...@X0A"
  54.     TSTRING005(9) = "               @X0CBLOOD AND SOULS FOR MY LORD ARIOCH!@X0A"
  55.     TSTRING005(10) = "       @X0CAND THE RESET BUTTON LETS YOU RE-RUN AUTOEXEC.BAT...@X0A"
  56.     TSTRING005(11) = "               @X0C'Twas brillig, and the slithy toves...@X0A"
  57.     TSTRING005(12) = "                       @X0COne side makes you taller...@X0A"
  58.     TSTRING005(13) = "                       @X0CYou're all a deck of cards...@X0A"
  59.     TSTRING005(14) = "               @X0CPennyworth only of beautiful Soup...@X0A"
  60.     TSTRING005(15) = "                       @X0C'Tis the voice of the Lobster...@X0A"
  61.     TSTRING005(16) = "                       @X0CLlamas are larger than frogs...@X0A"
  62.     TSTRING005(17) = "                                       @X0Cbar... bar...@X0A"
  63.     TSTRING005(18) = "                                       @X0CElf shot the food...@X0A"
  64.     TSTRING005(19) = "                               @X0CIgnore the man behind the curtain...@X0A"
  65.     TSTRING005(20) = "                       @X0CI do NOT like you Dr. Fell..."
  66.     :LABEL002
  67.     DCloseAll
  68.     DOpen 0, PPEPath() + "USER.DBF", 0
  69.     DGo 0, STRING004
  70.     If (DGet(0, "VITALITY") <> "Y") Goto LABEL008
  71.     If (DGet(0, "R_FTS_L") == 0) Then
  72.         INTEGER001 = 0
  73.         Cls
  74.         PrintLn "@X1F@POS:15@ LIFE:@X1A ", Trim(DGet(0, "HITPTS_L"), " "), "  @X1FEXP:@X1A ", Trim(DGet(0, "EXP"), " "), "  @X1FCASH:@X1A ", Trim(DGet(0, "CASH"), " "), "  @X1FINFECTION:@X1A ", Trim(DGet(0, "INFECTED"), " "), "@X1F%@X1A", "@X1F@POS:79@@X0F"
  75.         Newlines 10
  76.         PrintLn " @X0BYou've had a hard day of fighting, soldier.  You head back to the lift @X07"
  77.         PrintLn " @X0Band return to the upper levels.  A cold brew is the top thing on your  @X07"
  78.         PrintLn " @X0Bmind at the moment...                                                  @X07"
  79.         PrintLn 
  80.         Call PPEPath() + "VRS-M19.PPE"
  81.     Else
  82.         Cls
  83.         PrintLn "@X1F@POS:15@ LIFE:@X1A ", Trim(DGet(0, "HITPTS_L"), " "), "  @X1FEXP:@X1A ", Trim(DGet(0, "EXP"), " "), "  @X1FCASH:@X1A ", Trim(DGet(0, "CASH"), " "), "  @X1FINFECTION:@X1A ", Trim(DGet(0, "INFECTED"), " "), "@X1F%@X1A", "@X1F@POS:79@@X0F"
  84.         Newlines 4
  85.         PrintLn "@X0ALooking around here at the bottom of the Turboshaft, you're relieved @X07"
  86.         PrintLn "@X0Ato see that there is a RoboMedic attached to the bottom of the lift, @X07"
  87.         PrintLn "@X0Aespecially considering the stench of rotting flesh that pervades the @X07"
  88.         PrintLn "@X0Aatmosphere down here.....                                            @X07"
  89.         Newlines 3
  90.         InputStr "@X0E(@X0BR@X0E)eturn (@X0BM@X0E)edic (@X0BL@X0E)ook Around > _", STRING002, 10, 1, "RML", 0 + 8
  91.         Newlines 2
  92.         If (STRING002 == "") Goto LABEL002
  93.         Select Case (STRING002)
  94.             Case "R"
  95.                 Goto LABEL008
  96.             Case "M"
  97.                 Call PPEPath() + "VRS-M7.PPE"
  98.                 Goto LABEL002
  99.             Case "L"
  100.                 INTEGER001 = Random(10)
  101.                 If (INTEGER001 > 7) Then
  102.                     Call PPEPath() + "VRS-M100.PPE"
  103.                     INTEGER001 = 0
  104.                     Goto LABEL002
  105.                 Endif
  106.                 If (INTEGER001 == 1) Then
  107.                     Gosub LABEL003
  108.                     INTEGER001 = 0
  109.                     Goto LABEL002
  110.                 Endif
  111.                 If (INTEGER001 == 2) Then
  112.                     Gosub LABEL004
  113.                     INTEGER001 = 0
  114.                     Goto LABEL002
  115.                 Endif
  116.                 If (INTEGER001 == 3) Then
  117.                     Gosub LABEL005
  118.                     INTEGER001 = 0
  119.                     Goto LABEL002
  120.                     Goto LABEL003
  121.                 Endif
  122.                 If (INTEGER001 == 4) Then
  123.                     Gosub LABEL006
  124.                     INTEGER001 = 0
  125.                     Goto LABEL002
  126.                     Goto LABEL003
  127.                 Endif
  128.                 If (INTEGER001 == 5) Then
  129.                     Goto LABEL007
  130.                     INTEGER001 = 0
  131.                     Goto LABEL002
  132.                     Goto LABEL003
  133.                 Endif
  134.                 If (INTEGER001 == 6) Then
  135.                     Call PPEPath() + "VRS-M4.PPE"
  136.                     Goto LABEL002
  137.                     Goto LABEL003
  138.                 Endif
  139.             Case 7
  140.                 Call PPEPath() + "VRS-M6.PPE"
  141.                 Goto LABEL002
  142.         End Select
  143.         :LABEL003
  144.         Cls
  145.         PrintLn "@X1F@POS:15@ LIFE:@X1A ", Trim(DGet(0, "HITPTS_L"), " "), "  @X1FEXP:@X1A ", Trim(DGet(0, "EXP"), " "), "  @X1FCASH:@X1A ", Trim(DGet(0, "CASH"), " "), "  @X1FINFECTION:@X1A ", Trim(DGet(0, "INFECTED"), " "), "@X1F%@X1A", "@X1F@POS:79@@X0F"
  146.         Newlines 4
  147.         PrintLn "@X0BWandering about the warren of tunnels down here, you come across what@X0A"
  148.         PrintLn "@X0Blooks to be a field issue Medikit.  It's a bit worse for wear, and has@X0A"
  149.         PrintLn "@X0Bmarkings on it that you recognize as meaning Army Issue - Experimental.@X0A"
  150.         Newlines 3
  151.         InputStr "@X0E(@X0BU@X0E)se Kit  ENTER to return > ", STRING002, 10, 1, "U", 0 + 8
  152.         If (STRING002 == "") Goto LABEL002
  153.         If (STRING002 == "U") Then
  154.             INTEGER001 = Random(2)
  155.             If (INTEGER001 == 0) Then
  156.                 Backup 80
  157.                 ClrEol
  158.                 PrintLn "          @X0BYou feel a bit @X0Cs@X0DP@X0Ea@X09C@X0Ay@X0B.@X0C.@X0D.@X0E.@X0A"
  159.                 PrintLn 
  160.                 Call PPEPath() + "VRS-M19.PPE"
  161.                 Goto LABEL006
  162.             Endif
  163.             If (INTEGER001 == 1) Then
  164.                 Backup 80
  165.                 ClrEol
  166.                 PrintLn "@X0BYou always take drugs you find lying around?  You're violently ill.@X0A"
  167.                 PrintLn "@X0BIn fact, you coughed up @X0EYESTERDAY'S @X0Bbreakfast.@X0A                       "
  168.                 INTEGER001 = DGet(0, "HITPTS_L") / 10
  169.                 DPut 0, "HITPTS_L", DGet(0, "HITPTS_L") - INTEGER001
  170.                 If (DGet(0, "HITPTS_L") < 1) Then
  171.                     DPut 0, "VITALITY", "N"
  172.                     PrintLn "@X0CIn fact, you died from poisoning...@X0A"
  173.                     Call PPEPath() + "VRS-M19.PPE"
  174.                     Goto LABEL008
  175.                 Endif
  176.                 Call PPEPath() + "VRS-M19.PPE"
  177.                 Goto LABEL002
  178.             Endif
  179.             If (INTEGER001 == 2) Then
  180.                 Backup 80
  181.                 ClrEol
  182.                 INTEGER002 = Random(2)
  183.                 PrintLn "@X0BYou've always had a sneaking suspicion that the Army labs had a lot of@X0A"
  184.                 PrintLn "@X0Bneat stuff that the Corps never got their hands on.  You feel wonderful.@X0A"
  185.                 PrintLn "@X0BAny physical damage to your system is being repaired - you can FEEL the@X0A"
  186.                 If (INTEGER002 == 0) Then
  187.                     If (DGet(0, "DEF_STR") < 60) PrintLn "@X0Bcuts closing, the bruises healing.... Your defensive strength goes up @X0D3@X0B!@X0A"
  188.                     If (DGet(0, "DEF_STR") >= 60) PrintLn "@X0Bcuts closing, the bruises healing....!@X0A"
  189.                     DPut 0, "HITPTS_L", DGet(0, "HITPTS_B")
  190.                     If (DGet(0, "DEF_STR") < 60) DPut 0, "DEF_STR", DGet(0, "DEF_STR") + 3
  191.                     Call PPEPath() + "VRS-M19.PPE"
  192.                     Goto LABEL002
  193.                 Endif
  194.                 If (INTEGER002 == 1) Then
  195.                     If (DGet(0, "OFF_STR") < 60) PrintLn "@X0Bcuts closing, the bruises healing.... Your offensive strength goes up @X0D3@X0B!@X0A"
  196.                     If (DGet(0, "OFF_STR") >= 60) PrintLn "@X0Bcuts closing, the bruises healing....!@X0A"
  197.                     DPut 0, "HITPTS_L", DGet(0, "HITPTS_B")
  198.                     If (DGet(0, "OFF_STR") < 60) DPut 0, "OFF_STR", DGet(0, "OFF_STR") + 3
  199.                     Call PPEPath() + "VRS-M19.PPE"
  200.                     Goto LABEL002
  201.                 Endif
  202.                 If (INTEGER002 == 2) Then
  203.                     PrintLn "@X0Bcuts closing, the bruises healing....!@X0A"
  204.                     DPut 0, "HITPTS_L", DGet(0, "HITPTS_B")
  205.                     Call PPEPath() + "VRS-M19.PPE"
  206.                     Goto LABEL002
  207.                 Endif
  208.             Endif
  209.         Endif
  210.         :LABEL004
  211.         Cls
  212.         PrintLn "@X1F@POS:15@ LIFE:@X1A ", Trim(DGet(0, "HITPTS_L"), " "), "  @X1FEXP:@X1A ", Trim(DGet(0, "EXP"), " "), "  @X1FCASH:@X1A ", Trim(DGet(0, "CASH"), " "), "  @X1FINFECTION:@X1A ", Trim(DGet(0, "INFECTED"), " "), "@X1F%@X1A", "@X1F@POS:79@@X0F"
  213.         Newlines 4
  214.         PrintLn "@X0BYou come across a badly damaged Xanadu Bank ATM machine.  The screen@X0A"
  215.         PrintLn "@X0Bis flickering, and the scanner is only lighting up on the right side.@X0A"
  216.         Newlines 3
  217.         InputStr "@X0E(@X0BU@X0E)se ATM ENTER to Return > ", STRING002, 10, 1, "U", 0 + 8
  218.         If (STRING002 == "") Goto LABEL002
  219.         If (STRING002 == "U") Then
  220.             INTEGER003 = Random(1)
  221.             If (INTEGER003 == 0) Then
  222.                 Backup 80
  223.                 ClrEol
  224.                 PrintLn "@X0BYour account info comes up on the screen...  and the balance is....@X0A"
  225.                 PrintLn "@X0CLOWER @X0Bthan it should be!  The machine @X0CATE @X0E20% @X0Bof your money!@X0A"
  226.                 INTEGER004 = DGet(0, "BANKED") / 5
  227.                 DPut 0, "BANKED", DGet(0, "BANKED") - INTEGER001
  228.                 Call PPEPath() + "VRS-M19.PPE"
  229.                 Goto LABEL002
  230.             Endif
  231.             If (INTEGER003 == 1) Then
  232.                 Backup 80
  233.                 ClrEol
  234.                 PrintLn "@X0BYour account info comes up on the screen...  and the balance is....@X0A"
  235.                 PrintLn "@X0E20% @X0CHIGHER @X0Bthan it should be!  @X0DThe computer is your friend!@X0A"
  236.                 INTEGER004 = DGet(0, "BANKED") / 5
  237.                 DPut 0, "BANKED", DGet(0, "BANKED") + INTEGER001
  238.                 Call PPEPath() + "VRS-M19.PPE"
  239.                 Goto LABEL002
  240.             Endif
  241.         Endif
  242.         :LABEL005
  243.         Cls
  244.         PrintLn "@X1F@POS:15@ LIFE:@X1A ", Trim(DGet(0, "HITPTS_L"), " "), "  @X1FEXP:@X1A ", Trim(DGet(0, "EXP"), " "), "  @X1FCASH:@X1A ", Trim(DGet(0, "CASH"), " "), "  @X1FINFECTION:@X1A ", Trim(DGet(0, "INFECTED"), " "), "@X1F%@X1A", "@X1F@POS:79@@X0F"
  245.         PrintLn 
  246.         PrintLn "@X0EYou notice some grafitti on the wall...@X0A"
  247.         Newlines 3
  248.         INTEGER005 = Random(6)
  249.         If (INTEGER005 == 0) Then
  250.             PrintLn "@X0B    You talk o' better food for us, an' schools, an' fires, an' all;@X0A"
  251.             PrintLn "@X0B    We'll wait for extry rations if you treat us rational.@X0A"
  252.             PrintLn "@X0B    Don't mess about the cook-room slops, but prove it to our face@X0A"
  253.             PrintLn "@X0B    The Widow's Uniform is not the soldier-man's disgrace.@X0A"
  254.             PrintLn 
  255.             PrintLn "@X0B    For it's Tommy this an' Tommy that, an' 'Chuck him out, the brute!'@X0A"
  256.             PrintLn "@X0B    But it's 'Saviour of 'is country,' when the guns begin to shoot;@X0A"
  257.             PrintLn "@X0B    Yes, it's Tommy this, and Tommy that, an' anything you please;@X0A"
  258.             PrintLn "@X0B    But Tommy ain't a bloomin' fool - you bet that Tommy sees!@X0A"
  259.             Newlines 2
  260.             PrintLn " Sounds like one of your compatriots is a bit annoyed, eh?"
  261.             Newlines 2
  262.             Call PPEPath() + "VRS-M19.PPE"
  263.             Goto LABEL002
  264.         Endif
  265.         If (INTEGER005 == 1) Then
  266.             PrintLn "@X0B   You may talk o' gin and beer@X0A"
  267.             PrintLn "@X0B    When you're quartered safe out 'ere,@X0A"
  268.             PrintLn "@X0B    An' you're sent to penny-fights an' Aldershot it;@X0A"
  269.             PrintLn "@X0B    But when it comes to slaughter,@X0A"
  270.             PrintLn "@X0B    You will do your work on water,@X0A"
  271.             PrintLn "@X0B    Any you'll lick the bloomin' boots of 'm that's got it.@X0A"
  272.             Newlines 2
  273.             PrintLn " Sounds like someone's a bit annoyed, eh?"
  274.             Newlines 2
  275.             Call PPEPath() + "VRS-M19.PPE"
  276.             Goto LABEL002
  277.         Endif
  278.         If (INTEGER005 == 2) Then
  279.             PrintLn "@X0B    'Is cot was right-'and cot to mine, said Files-on-Parade.@X0A"
  280.             PrintLn "@X0B    'E's sleepin' out an' far to-night, the Color-Sergeant said.@X0A"
  281.             PrintLn "@X0B    I've drunk 'is beer a score o' times said Files-on-Parade.@X0A"
  282.             PrintLn "@X0B    'E's drinkin' bitter beer alone, the Color-Sergeant said.@X0A"
  283.             PrintLn 
  284.             PrintLn "@X0B    They are hangin' Danny Deever, you must mark 'im to 'is place,@X0A"
  285.             PrintLn "@X0B    For 'e shot a comrade sleepin' - you must look 'im in the face;@X0A"
  286.             PrintLn "@X0B    Nine 'undred of 'is county and the regiment's disgrace,@X0A"
  287.             PrintLn "@X0B    While they're hanging Danny Deever in the morning@X0A"
  288.             Newlines 2
  289.             PrintLn " You reflect on just what the mutant virus can do to people...."
  290.             Newlines 2
  291.             Call PPEPath() + "VRS-M19.PPE"
  292.             Goto LABEL002
  293.         Endif
  294.         If (INTEGER005 == 3) Then
  295.             PrintLn "The croupier lies - it goes off one in three..."
  296.             Newlines 2
  297.             Call PPEPath() + "VRS-M19.PPE"
  298.             Goto LABEL002
  299.         Endif
  300.         If (INTEGER005 == 4) Then
  301.             PrintLn "Avoid Felix at all costs!"
  302.             Newlines 2
  303.             Call PPEPath() + "VRS-M19.PPE"
  304.             Goto LABEL002
  305.         Endif
  306.         If (INTEGER005 == 5) Then
  307.             PrintLn "@X0BThe bartender's REAL name is Bevan...@X0F"
  308.             Newlines 2
  309.             Call PPEPath() + "VRS-M19.PPE"
  310.             Goto LABEL002
  311.         Endif
  312.         :LABEL006
  313.         Newline
  314.         PrintLn "@X03A voice, apparently from nowhere, mutters@X0E:@X0F"
  315.         INTEGER006 = Random(20)
  316.         Newlines 2
  317.         PrintLn TSTRING005(INTEGER006)
  318.         Newlines 2
  319.         Call PPEPath() + "VRS-M19.PPE"
  320.         Goto LABEL002
  321.         :LABEL007
  322.         PrintLn "@X08Gets boring down here after a while, eh?@X0F"
  323.         Newline
  324.         Call PPEPath() + "VRS-M19.PPE"
  325.         Goto LABEL002
  326.     Endif
  327.     :LABEL008
  328.     DCloseAll
  329.     End
  330.  
  331. ;------------------------------------------------------------------------------
  332. ;
  333. ; Usage report (before postprocessing)
  334. ;
  335. ; ■ Statements used :
  336. ;
  337. ;    2       End
  338. ;    5       Cls
  339. ;    5       ClrEol
  340. ;    68      Goto 
  341. ;    43      Let 
  342. ;    70      PrintLn 
  343. ;    42      If 
  344. ;    3       InputStr 
  345. ;    4       Gosub 
  346. ;    2       Newline
  347. ;    20      Newlines 
  348. ;    21      Call 
  349. ;    5       Backup 
  350. ;    1       EndFunc
  351. ;    1       DOpen 
  352. ;    2       DCloseAll
  353. ;    1       DGo 
  354. ;    9       DPut 
  355. ;
  356. ;
  357. ; ■ Functions used :
  358. ;
  359. ;    3       /
  360. ;    29      +
  361. ;    2       -
  362. ;    33      ==
  363. ;    1       <>
  364. ;    5       <
  365. ;    1       >
  366. ;    2       >=
  367. ;    29      !
  368. ;    20      Trim()
  369. ;    6       Random()
  370. ;    1       String()
  371. ;    22      PPEPath()
  372. ;    2       PcbNode()
  373. ;    1       GetEnv()
  374. ;    1       ToInteger()
  375. ;    40      DGet()
  376. ;
  377. ;------------------------------------------------------------------------------
  378. ;
  379. ; Analysis flags : C
  380. ;
  381. ; C - Call child PPE ■ 3
  382. ;     This is usually normal, but may be a tricky way to launch some
  383. ;     sysop-only commands.
  384. ;     ■ Search for : CALL
  385. ;
  386. ;------------------------------------------------------------------------------
  387. ;
  388. ; Postprocessing report
  389. ;
  390. ;    0       For/Next
  391. ;    0       While/EndWhile
  392. ;    25      If/Then or If/Then/Else
  393. ;    1       Select Case
  394. ;
  395. ;------------------------------------------------------------------------------
  396. ;                 AEGiS Corp - Break the routines, code against the machines!
  397. ;------------------------------------------------------------------------------
  398.